package updatepotongan;


import Karyawan.Karyawan;
import Koneksi.KoneksiDatabase;
import UpdateKaryawan.updateKaryawanKontrol;
import hitunggaji.Gaji;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;



public class updatepotongankontrol_1 {
 
    private Connection conn;

    public updatepotongankontrol_1(Connection conn2) {
        this.conn = conn2;
    }

    public static updatepotongankontrol_1 getKoneksi() throws SQLException {
        KoneksiDatabase konDB = new KoneksiDatabase();
        updatepotongankontrol_1 uppotongankontrol = new updatepotongankontrol_1(konDB.getConn());
        return uppotongankontrol;
    }
 
//    public List<potongan> getAllPotongan() throws SQLException {
//        PreparedStatement preparedStatement = null;
//        ResultSet resultSet = null;
//        List<potongan> potong = new ArrayList<potongan>();
//        try {
//            conn.setAutoCommit(false);
//            String sql = "select * from potongan";
//            preparedStatement = conn.prepareStatement(sql);
//            resultSet = preparedStatement.executeQuery();
//            while (resultSet.next()) {
//
//                potongan p = new potongan();
//                Karyawan k=new Karyawan();
//                k.setNIP(resultSet.getString(2));
//                p.setNIP(k);
//                p.setPinjaman(resultSet.getDouble(1));
//                
//                
//                potong.add(p);
//            }
//            conn.commit();
//        } catch (SQLException ex) {
//            Logger.getLogger(updateKaryawanKontrol.class.getName()).log(Level.SEVERE, null, ex);
//        }
//        return potong;
//    }
    public List<potongan> getAllgolongan() throws SQLException {
        PreparedStatement psmt = null;
        ResultSet rset = null;
        conn.setAutoCommit(false);
        String sql = "select nip,pinjaman from potongan order by nip";
        psmt = conn.prepareStatement(sql);
        rset = psmt.executeQuery();
        List<potongan> st = new ArrayList<potongan>();
        while (rset.next()) {
           potongan stok = new potongan();
            Karyawan k=new Karyawan();
            k.setNIP(rset.getString(1));
            
            stok.setNIP(k);
              
           stok.setPinjaman(rset.getDouble(2));
           
            st.add(stok);
        }
        conn.commit();
        return st;
    }


//     public void updateDBPrepared(potongan databarang) throws SQLException {
//        PreparedStatement statement = null;
//        try {
//            conn.setAutoCommit(false);
//            String sql = "UPDATE potongan SET pinjaman = ?"
//                    + "WHERE nip = ? ";
//
//            statement = conn.prepareStatement(sql);
//            statement.setDouble(1, databarang.getPinjaman());
//            statement.setString(2, databarang.getNIP().getNIP());
//            
////            statement.setString(1, databarang.getGolongan().getGolongan());
//            
//            statement.executeUpdate();
//            conn.commit();
//        } catch (SQLException ex) {
//            conn.rollback();
//            throw ex;
//        } finally {
//            try {
//                conn.setAutoCommit(true);
//                if (statement != null) {
//                    statement.close();
//                }
//            } catch (SQLException ex) {
//                throw ex;
//            }
//        }
//    }
    public void updateDBPrepared(potongan databarang) throws SQLException {
        PreparedStatement statement = null;
        try {
            conn.setAutoCommit(false);
            String sql = "UPDATE potongan SET pinjaman = ?"
                    + "WHERE nip = ? ";

            statement = conn.prepareStatement(sql);
            statement.setDouble(1, databarang.getPinjaman());
            statement.setString(2, databarang.getNIP().getNIP());
            
            statement.executeUpdate();
            conn.commit();
        } catch (SQLException ex) {
            conn.rollback();
            throw ex;
        } finally {
            try {
                conn.setAutoCommit(true);
                if (statement != null) {
                    statement.close();
                }
            } catch (SQLException ex) {
                throw ex;
            }
        }
    }
    }
     
